1. Field of the Invention
The invention relates to telecommunications and, more particularly, to improving client server interactions by permitting those interactions to occur with increased efficiency and reduced network resources.
2. Description of Related Art
Communication networks are well known in which a connected device, such as a personal computer, runs a client process, such as a network browser, which engages in interactions with a server which provides information in response to the client. One such network is the Internet. The worldwide web portion of the Internet constitutes over one half of the traffic carried by the Internet. Users of such networks experience slowed response times as load on the network increases.
Communication services are implemented over a network by utilizing protocols. Two well known network protocols are TCP and IP (Transmission Control Protocol and Internet Protocol respectively). Another type of known protocol is UDP (User Datagram Protocol) which is frequently if not generally bundled with TCP and IP. IP is a network layer protocol while TCP and UDP are transport level protocols, that is, they provide the services needed for end to end communications at the transport layer of the International Standards Organization, Open Systems Interconnect (ISO OSI) model.
One approach to overcoming problems of inefficiency when setting up TCP virtual connections in a transactional environment is provided by RFC 1644 from the Network Working Group as discussed in a paper by R. Bradden dated July, 1994 and entitled T/TCPxe2x80x94TCP Extensions for Transactions Functional Specification. That article is hereby incorporated by reference and is attached hereto as Appendix A.
Higher levels of protocols are also known which accommodate functionality at the session, presentation and application layers of the ISO OSI model. One of these layers is HTTP (Hypertext Transfer Protocol) which is utilized in the transfer of information in client server interactions in the worldwide web.
The hardware components for implementing networks are also well known. Of principal interest for network uses in this context are routers which are utilized to direct digital packets being sent on the network from a point of origin towards their destination. A router may frequently have additional functionality other than that associated with simple routing. For example, some routers accommodate Network Address Translation (NAT) and load-balancing.
There are several problems associated with the prior art. First, when transferring data using TCP a virtual circuit must first be established. Then the data is transferred followed by a teardown of the virtual circuit. This introduces substantial overhead in network interactions.
This overhead is increased yet further when distributed servers are utilized and when a server to which a client is connected redirects the connection from itself to a different server for obtaining the information.
A third problem associated with the prior art is that reducing network traffic using transparent proxies requires constraints on the network topology or traffic routing. It would be desirable to free transparent proxies from such constraints.
In accordance with the invention, new protocol interactions are defined for reducing network traffic, particular in a worldwide web environment. In accordance with the invention, the user first attempts to retrieve information by using HTTP and UDP (hereinafter HTTP-UDP) This eliminates the need for the virtual connection setup and teardown portions of the TCP protocol. If the HTTP-UDP interaction fails or if a response is received indicating that the return information is beyond the size limits for a UDP transaction, the required process falls back to an HTTP-TCP request to get the desired information. The HTTP-TCP request behaves exactly like the TCP interactions in use today.
Another aspect of the invention relates to a three step fall back protocol in which a HTTP-UDP request goes out and transaction TCP (T/TCP) state information is established in the client""s side which can be utilized in the event that a response may not be handled by UDP. If the server is equipped with transaction TCP (T/TCP), T/TCP can be utilized for the response without the need to go through the formal set-up since this data information is already available and stored on the client""s side. If neither approach is available, then HTTP-TCP will be utilized to obtain the information.
In another aspect of the invention, transparent web proxy functions are defined which permit a router to cache information and provide it from a router to a client without connection to the server at all. Thus acting as a transparent proxy.